草庐IT

c++ - 更改或检查 std::ofstream 的打开模式

全部标签

Ruby 用捕获的正则表达式模式替换字符串

我在将它翻译成Ruby时遇到了问题。这是一段JavaScript,它完全符合我的要求:functionget_code(str){returnstr.replace(/^(Z_.*):.*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​;}我试过了gsub,sub,和replace但似乎没有一个能达到我的预期。以下是我尝试过的示例:"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/){|capture|capture}"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/,"$1")"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/,

ruby - 如何在文件文本中搜索模式并将其替换为给定值

我正在寻找一个脚本来搜索文件(或文件列表)中的模式,如果找到,则用给定值替换该模式。想法? 最佳答案 免责声明:这种方法是对Ruby功能的简单说明,而不是用于替换文件中字符串的生产级解决方案。它容易出现各种故障情况,例如在崩溃、中断或磁盘已满的情况下丢失数据。此代码不适用于备份所有数据的快速一次性脚本。因此,请勿将此代码复制到您的程序中。这是一个快速的简短方法。file_names=['foo.txt','bar.txt']file_names.eachdo|file_name|text=File.read(file_name)ne

ruby - 如何让 Sinatra 在每次更改后自动重新加载文件?

我正在使用#my_app.rbload'index.rb'然后像这样启动服务器rubymy_app.rb但它永远不会重新加载我在索引页面中所做的任何更改。我在这里错过了什么吗? 最佳答案 参见SinatraFAQ,"HowdoImakemySinatraappreloadonchanges?"Firstoff,in-processcodereloadinginRubyishardandhavingasolutionthatworksforeveryscenarioistechnicallyimpossible.Whichiswhyw

ruby - 如何检查 Ruby 对象是否为 bool 值

我似乎无法轻松地检查对象是否为bool值。Ruby中有这样的东西吗?true.is_a?(Boolean)false.is_a?(Boolean)现在我正在做这个并且想缩短它:some_var=rand(1)==1?true:false(some_var.is_a?(TrueClass)||some_var.is_a?(FalseClass)) 最佳答案 我能想到的最简单的方法:#checkingwhetherfooisaboolean!!foo==foo 关于ruby-如何检查Ruby

ruby - 如何更改哈希值?

我想用value.some_method替换散列中的每个value。例如,给定一个简单的散列:{"a"=>"b","c"=>"d"}`每个值都应该是.upcased,所以它看起来像:{"a"=>"B","c"=>"D"}我尝试了#collect和#map但总是只取回数组。有没有一种优雅的方式来做到这一点?更新该死,我忘了:散列在一个实例变量中,不应更改。我需要一个具有更改值的新散列,但不希望显式定义该变量然后循环填充它的散列。像这样的东西:new_hash=hash.magic{...} 最佳答案 my_hash.each{|k,v

ruby-on-rails - 如何检查 capybara 中的复选框?

我正在使用Rspec和Capybara。如何编写检查复选框的步骤?我已尝试按值进行check,但找不到我的checkbox。我不确定该怎么做,因为我实际上有相同的ID,但值不同代码如下: 最佳答案 我发现以下对我有用:#Checkfind(:css,"#cityID[value='62']").set(true)#Uncheckfind(:css,"#cityID[value='62']").set(false) 关于ruby-on-rails-如何检查capybara中的复选框?,我们

ruby-on-rails - 如何更改 Rails 中 Active Record 的默认时区?

在我的application.rb中,我遇到了以下评论#SetTime.zonedefaulttothespecifiedzoneandmakeActiveRecordauto-converttothiszone.#Run"rake-Dtime"foralistoftasksforfindingtimezonenames.DefaultisUTC.config.time_zone='EasternTime(US&Canada)'正如您从上面看到的,我已将config.time_zone设置为EST时间。但是,当在数据库中创建记录时,看起来datetime仍以UTC格式存储。在上面的评论

ruby - 如何检查给定目录是否存在于 Ruby 中

我正在尝试编写一个脚本,它根据指定目录是否存在自动checkout或更新SubversionURL。出于某种原因,我的代码无法正常工作并且始终返回true,即使它是false:defdirectory_exists?(directory)returnfalseifDir[directory]==niltrueend我做错了什么? 最佳答案 如果您要查找的文件是一个目录而不仅仅是一个文件很重要,您可以使用File.directory?。或Dir.exist?.仅当文件存在且是目录时才会返回true。顺便说一句,编写该方法的更惯用的方法

ruby - 如何全局配置 RSpec 以保持 '--color' 和 '--format specdoc' 选项打开

如何在Ubuntu中设置RSpec的全局配置。特别是,--color和--formatspecdoc在我的所有项目中保持打开状态(即每次我在任何地方运行rspec时)。 最佳答案 正如您在文档中看到的那样here,预期用途是创建~/.rspec并在其中放置您的选项,例如--color。要使用--color选项快速创建一个~/.rspec文件,只需运行:echo'--color'>>~/.rspec 关于ruby-如何全局配置RSpec以保持'--color'和'--formatspecd

ruby - 更改 Ruby 中散列中的每个值

我想更改散列中的每个值,以便在值前后添加“%”{:a=>'a',:b=>'b'}必须改为{:a=>'%a%',:b=>'%b%'}执行此操作的最佳方法是什么? 最佳答案 在Ruby2.1和更高版本中你可以这样做{a:'a',b:'b'}.map{|k,str|[k,"%#{str}%"]}.to_h 关于ruby-更改Ruby中散列中的每个值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest